// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Tails Stuck Object
// Script Author: Christian Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

//-------Aliases-------//
private alias 84 : TYPE_TAILSSTUCK


// Static Values

// Tables

event ObjectMain
	temp0 = object.value0
	FlipSign(temp0)
	temp1 = object.value1
	FlipSign(temp1)
	if object[1].type == TypeName[Player 2 Object]
		BoxCollisionTest(C_TOUCH, object.entityPos, temp0, temp1, object.value0, object.value1, 1, 4, 4, 4, 4)
		if checkResult == 1
			object.value2++
			if object.value2 >= 240
				object[1].state = Player2Object_Function66
				object[1].xpos = object[0].xpos
				object[1].ypos = screen.yoffset
				object[1].ypos -= 128
				object[1].ypos <<= 16
				object[1].xvel = 0
				object[1].yvel = 0
				object[1].speed = 0
				object[1].tileCollisions = 0
				object[1].interaction = 0
				object[1].controlMode = 1
				object[1].value3 = 0
				object[1].value4 = 0
			end if
		else
			object.value2 = 0
		end if
	end if
end event


event ObjectDraw
	if object[0].type == TypeName[Debug Mode]
		temp0 = object.xpos
		temp1 = object.ypos
		temp2 = object.propertyValue
		temp4 = temp2
		temp4 &= 240
		temp4 <<= 15
		temp2 >>= 4
		temp2++
		temp6 = temp2
		temp3 = object.propertyValue
		temp3 &= 15
		temp5 = temp3
		temp5 <<= 19
		temp3++
		temp0 -= temp4
		temp4 = temp0
		temp1 -= temp5
		while temp3 > 0
			while temp2 > 0
				DrawSpriteXY(0, temp0, temp1)
				temp0 += 0x100000
				temp2--
			loop
			temp2 = temp6
			temp0 = temp4
			temp1 += 0x100000
			temp3--
		loop
	end if
end event


event ObjectStartup
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-8, -7, 16, 14, 60, 108)
	foreach (TypeName[Tails Stuck], arrayPos0, ALL_ENTITIES)
		object[arrayPos0].drawOrder = 5
		object[arrayPos0].value0 = object[arrayPos0].propertyValue
		object[arrayPos0].value0 &= 240
		object[arrayPos0].value0 += 16
		object[arrayPos0].value0 >>= 1
		object[arrayPos0].value1 = object[arrayPos0].propertyValue
		object[arrayPos0].value1 &= 15
		object[arrayPos0].value1++
		object[arrayPos0].value1 <<= 3
	next
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
